package com.tian.util;

/**
 * {@code @description:} RedisKeyPrefix 缓存key的固定前缀
 *
 * @author tianwc 公众号：Java后端技术全栈
 * 在线刷题 1200+java面试题和1000+篇技术文章：<a href="https://woaijava.cc/">博客地址</a>
 * {@code @date:} 2024-08-06 15:37
 * {@code @version:} 1.0
 */
public interface ChargeMarketRedisKeyPrefix {
    /**
     * 活动条件信息缓存
     */
    String ACTIVITY_CONDITION_KEY = "charge:activity:condition:";
    /**
     * 活动信息缓存
     */
    String ACTIVITY_CONDITION_INFO_KEY = "charge:activity:info:";
    /**
     * 优惠券信息缓存
     */
    String CHARGE_COUPON_KEY = "charge:coupon:";
    /**
     * 用户优惠券缓存
     */
    String CHARGE_USER_COUPON_KEY = "charge:user:coupon:";
    /**
     * 优惠券条件缓存
     */
    String CHARGE_COUPON_CONDITION_KEY = "charge:coupon:condition:";
    /**
     * 优惠券类型缓存
     */
    String CHARGE_COUPON_TYPE_KEY = "charge:coupon:type:";
    /**
     * 优惠券库存缓存
     */
    String CHARGE_COUPON_STOCK_QUANTITY_KEY = "charge:coupon:stock:quantity:";
    /**
     * 优惠券参与秒杀缓存（存在就是参与，否就是普通）
     */
    String CHARGE_COUPON_SECONDS_KILL_KEY = "charge:coupon:seconds:kill:";
    /**
     * 用户已经兑换的优惠券
     */
    String USER_SECONDS_KILL_COUPON_KEY = "user:charge:coupon:";

    /**
     * 用户站内信  list  站内信id
     */
    String USER_SYSTEM_MESSAGE_LIST_KEY = "user:charge:system:message:list:";
    /**
     * 用户站内信  map  站内信id
     */
    String USER_SYSTEM_MESSAGE_MAP_KEY = "user:charge:system:message:map:";
    /**
     * 用户站内信  set  站内信id  用于处理三个月之前的站内信--删除
     */
    String USER_SYSTEM_MESSAGE_SET_KEY = "user:charge:system:message:set:";
    /**
     * 站内信内容详情--内容id--站内信内容
     */
    String USER_SYSTEM_MESSAGE_CONTENT_ID_KEY = "charge:system:message:content:id:";
    /**
     * reqId=日期+用户id+模板id 避免重复发送站内信
     */
    String USER_SYSTEM_MESSAGE_DUPLICATE_KEY = "user:charge:message:duplicate:";
    /**
     * 用户积分缓存
     */
    String USER_POINT_KEY = "user:charge:point:";
    /**
     * 用户领取优惠券重复消费
     */
    String USER_GET_COUPON_MESSAGE_DUPLICATE_CONSUMER_KEY = "user:get:coupon:message:duplicate:consumer:";
    /**
     * 用户可用优惠券数量缓存，默认0个
     */
    String USER_AVAILABLE_COUPON_COUNT_KEY = "user:charge:available:coupon:count:";
    /**
     * 用户领取优惠券次数缓存，默认0次
     */
    String USER_GET_COUPON_TIMES_KEY = "user:get:coupon:times:";

    /**
     * 兑换码数量缓存
     */
    String EXCHANGE_CODE_COUNT_KEY = "exchange:code:count:";
    /**
     * 防止重复消费消息
     */
    String RETRY_MESSAGE_REPEAT_PRE = "retry_message_repeat:";

    String USER_USING_COUPON = "user:using:coupon:"; // 用户正在使用优惠券
}
